package mx.com.ingsw.model;

import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import mx.com.ingsw.dao.AlumnoDAO;
import mx.com.ingsw.dao.CarreraDAO;
import mx.com.ingsw.dao.DatosDAO;
import mx.com.ingsw.dao.FechabajaDAO;
import mx.com.ingsw.dao.FechaextemDAO;
import mx.com.ingsw.dao.FechainsDAO;
import mx.com.ingsw.dao.FechasDAO;
import mx.com.ingsw.dao.PersonaDAO;

public class AlumnoCompleto {
    int noCuenta;
    int noCarrera;
    String nombreCarrera;
    int noInscripcion;
    String nombreCompleto;
    String correo;
    String fechains;
    String fechabaja;
    String fechaextem;
    double promedio;
    String generacion; 
public AlumnoCompleto(){
}


public AlumnoCompleto alumnoCompleto(Alumno alu) throws NoSuchAlgorithmException{
    AlumnoCompleto ac=new AlumnoCompleto();
    SimpleDateFormat formato1 = new SimpleDateFormat("HH:mm:ss");
    SimpleDateFormat formato2 = new SimpleDateFormat("yyyy-MM-dd");
    SimpleDateFormat formato3 = new SimpleDateFormat("yyyy");
    
    AlumnoDAO alumnoDAO = new AlumnoDAO();
    CarreraDAO carreraDAO = new CarreraDAO();
    PersonaDAO personaDAO = new PersonaDAO();
    DatosDAO datosDAO = new DatosDAO();
    FechainsDAO fechainsDAO = new FechainsDAO();
    FechabajaDAO fechabajaDAO = new FechabajaDAO();
    FechasDAO fechasDAO = new FechasDAO();
    FechaextemDAO fechaextemDAO = new FechaextemDAO();
    
    alu = alumnoDAO.read(alu.getNoCuenta());
    Carrera carrera=carreraDAO.read(alu.getIdCarrera());
    Persona persona=personaDAO.read(alu.getIdPersona());
    Datos datos=datosDAO.read(alu.getIdDatos());
    Fechas fechas=fechasDAO.read(alu.getIdFechas());
    Fechains fechains2=fechainsDAO.read(fechas.getIdFechains());
    Fechabaja fechabaja2=fechabajaDAO.read(fechas.getIdFechabaja());
    Fechaextem fechaextem2=fechaextemDAO.read(fechas.getIdFechaextem());

    ac.noCuenta=alu.getNoCuenta();
    ac.noCarrera=carrera.getIdCarrera();
    ac.nombreCarrera=carrera.getNombre();
    ac.noInscripcion=alu.getNoInscripcion();
    ac.nombreCompleto=persona.getApellidop()+persona.getApellidom()+persona.getNombre()+persona.getNombre2();
    ac.correo=datos.getCorreo();
    ac.fechains=formato2.format(fechains2.getFechains())+" "+formato2.format(fechains2.getHorains());
    ac.fechabaja=formato2.format(fechabaja2.getFechabaja())+" "+formato2.format(fechabaja2.getHorabaja());
    ac.fechaextem=formato2.format(fechaextem2.getFechaextem())+" "+formato2.format(fechaextem2.getHoraextem());
    ac.promedio=alu.getPromedio();
    ac.generacion=formato3.format(alu.getGeneracion());   
    
    return ac;
    }
}